home *** CD-ROM | disk | FTP | other *** search
/ Just Call Me Internet / Just Call Me Internet.iso / prog / atari / c / zmdm / zmdm.doc < prev    next >
Text File  |  1993-06-26  |  23KB  |  609 lines

  1.     zmdm.doc, v1.2 ++jrb
  2.  
  3.                 ACKNOWLEDGEMENTS
  4.  
  5.     ZMDM was derived from rz/sz for Unix  posted by 
  6.     Chuck Forsberg (...!tektronix!reed!omen!caf ). We
  7.     thank him for his excellent code, and for giving
  8.     us permission to use and distribute his code and
  9.     documentation.
  10.  
  11. ----------------------------------------------------------------------------
  12.  
  13.     Enhancements since V1.0:
  14.         o (This enhancement is only present when
  15.            you compile with the pre-processor symbol
  16.            `RECURSE' defined - see the makefile's)
  17.           sz now takes a  directory as an argument.
  18.           If the name of a directory is given as an
  19.           argument, then the contents of that directory
  20.           and all its subdirectories are sent. A new
  21.           option to sz is '-P <dir or file>'
  22.           (capital 'P' not 'p'), that
  23.           'prunes' the expansion of a directory. For
  24.           example if you wanted to send all the files
  25.           in the 'C' partition of your hard disk, except
  26.           the 'tmp', 'usr' and 'foo\bar' subdirectories, you would
  27.           issue the following command in the transfer
  28.           shell:
  29.  
  30.              sz -f -P c:\tmp -P c:\usr -P c:\foo\bar c:\
  31.  
  32.           Notice that you may specify multiple -P 'rune
  33.           options. The argument to the -P option may also be
  34.           the name of a file that you want to prune off.
  35.           Also note that to send full path names
  36.           to the remote end, the '-f' option is required,
  37.           otherwise the remote end will create all the
  38.           files in its current working directory. (Also
  39.           see CWRU extension to Unix 'rz', where 'rz' when
  40.           receiving full path names (ie. when you specify the
  41.           '-f' option to sz on the ST end) will create all
  42.           subdirectories required to receive the file). The
  43.           ST 'rz' always creates all subdirectories required
  44.           to receive a path when the other end is sz'ing with
  45.           the '-f' option. Also note that in both the rz's
  46.           all subdirectories are created relative to the 
  47.           current working directory, even though the path may
  48.           specify an absolute path.
  49.  
  50.             o File name mapping is slightly changed from V1.0.
  51.           When receiving a filename that has multiple '.'s
  52.           all but the last '.' is replace with an '_'. So
  53.           'foo.bar.ext' becomes 'foo_bar.ext'. Similarly
  54.           '123.456.789\aaa.bbb.ccc' becomes '123_456.789\aaa_bbb.ccc'.
  55.           As in V1.0, the filename and extension (of each
  56.           component of a path name) are truncated to 8 and 3
  57.           characters respectively. So '123.456789.ext\foobarbaz'
  58.           becomes '123_4567.ext\foobarba'. Also note that
  59.           while sending, '\'s are sent as '/'s. The ST drive
  60.           specifier part of a path name is never sent.
  61.           So 'c:\file.ext' is sent as '/file.ext' (remember:
  62.           that full pathnames are only sent when the '-f'
  63.           option is specified to 'sz').
  64.  
  65.         o Many bug fixes since V1.0!
  66.  
  67. ----------------------------------------------------------------------------
  68.  
  69.  
  70.     Zmdm consists of two main components:
  71.         o The terminal emulator
  72.         o The transfer shell
  73.  
  74.     - The terminal emulator emulates a 80*25 terminal
  75.     (or optionally the 80*50 mode on Mono systems only).
  76.     It uses the escape codes of the bios built in enhanced
  77.     vt52 emulator. For UN*X users i have included the
  78.     termcap entry that we use.
  79.  
  80.     - The transfer shell lets you send/receive files using
  81.     Xmodem/Xmodem-CRC/Xmodem-1K/Ymodem or Zmodem protocols.
  82.         In addition it provides UN*X csh like command for your
  83.     convenience, and does (TOS style) wild-card handling,
  84.         and (only single) quoting of arguments. Please note that
  85.     this is a convenience feature, and in no way does it
  86.     pretend to be compatible with csh or any other shell.
  87.     See the accompanying file YMODEM.DOC by Chuck Forsberg,
  88.     for details of the above transfer protocols.
  89.  
  90.     This note describes the commands available from the
  91.     "transfer shell". The transfer shell is the built in command line
  92.     interface. In case you are wondering why we choose to
  93.     use a command line interface, the answer is quite simple.
  94.     The functions available have so many options and combinations
  95.     thereof, that it would be totally impractical if not impossible
  96.     to put them in menus/dialogues (each menu will have to be at least
  97.     3 levels deep). Of course it is much easier to type something
  98.     like 'sz -l 128 -L 128 *.c' than answering the at least three
  99.     dialogues required to pick up the same info. You enter the
  100.     transfer shell from the terminal emulator by hitting <HELP>
  101.     and choosing 'T' from the main menu. Once you are done using the
  102.     transfer shell, you simply hit <RETURN> to pop back into the terminal
  103.     emulator, exactly where you left off.
  104.  
  105.     This program was written primarily for situations where you
  106.     are connected to remote hosts either directly or via modems.
  107.     The timing and error parameters are NOT suitable for hosts
  108.     such as CompuServe etc, where there may large delays or your
  109.     phone line is noisy. We distributed a program called XMDM earlier
  110.     that is very tolerant of delays/noisy lines and has been used
  111.     very successfully for BBS'ing around the country. XMDM has
  112.     conveniences such as dialing directories etc for that purpose.
  113.     If you have a old version of XMDM ( < V1.8) that does not have
  114.     dialing directories etc, please mail me for a new copy.
  115.  
  116.     ZMDM has been tested in the following ways:
  117.     1) Between two ST's running ZMDM. 19200 Baud no problem!
  118.     2) With unix sz/rz running on a BSD4.3 on Vaxen.
  119.     3) With unix sz/rz running on Apollo Dn330/Dn300 under Aegis and
  120.        Domain IX (over a siologin line).
  121.     4) With unix sz/rz running on a Sun under BSD.
  122.     6) With an Ibm At running Procomm using Ymodem/Xmodem.
  123.     7) With ForemSt bbs, with the BBS sending in Ymodem batch
  124.        mode. (note: ForemSt bbs's do not take batch uploads -
  125.        Matt Singer are you listening??)
  126.     8) With a Mac running MicroPhone using Ymodem mode.
  127.     9) With an Intel 210 box running Xenix (yech!).
  128.         
  129.     UNIX users please note:
  130.         If the load on your system is high, the UNIX tty
  131.     driver drops characters when receiving at 9600 or higher baud rates.
  132.     There are two ways around this problem:
  133.     - use shorter packet and frame lengths using the `-l' and `-L' options
  134.     of SZ. For examples `sz -l 128 -L 128 files...' work most of
  135.     the time at 9600/19200 baud without any problem.
  136.  
  137.     - reduce your baud rate to 4800 baud. Normally the first solution
  138.     works fine, but if you have an extraordinarily loaded machine
  139.     (or are running on a brain damaged 750 with DZ11's), then 4800 baud
  140.     works better.
  141.     
  142.     - Those who have 3b2 boat anchors, the tty driver (at least on
  143.      the boxes we have) is totally useless over 1200 baud.
  144.  
  145. NAME
  146.      rb, rz - XMODEM, YMODEM, ZMODEM (Batch) file receive
  147.  
  148. SYNOPSIS
  149.      rz    [-Bpqtv]
  150.      rb    [-pqtv]
  151.      rz    [-cqtv] file
  152.  
  153.  
  154. DESCRIPTION
  155.      This program uses error correcting    protocol to receive files
  156.      over a serial port    from a variety of programs running under
  157.      TOS, PC-DOS, CP/M, Unix, and other operating systems.
  158.  
  159.      The first form of rz (Receive ZMODEM) receives files with
  160.      the ZMODEM    batch protocol.     If the    sending    program    does not
  161.      support ZMODEM, rz    steps down to YMODEM protocol after 50
  162.      seconds.  This delay can be eliminated by calling the pro-
  163.      gram as rb    .
  164.  
  165.      When receiving with XMODEM    or YMODEM, Rz accepts either
  166.      standard 128 byte sectors or 1024 byte sectors (YAM -k
  167.      option).  The user    should determine when the longer block
  168.      length actually improves throughput without causing prob-
  169.      lems.
  170.  
  171.      If    extended file information (file    length,    etc.) is
  172.      received, the file    length controls    the number of bytes writ-
  173.      ten to the    output dataset (YMODEM only), and the modify time
  174.      and file mode (iff    non zero) are set accordingly. A special feature
  175.      of the ST implementation is that if the remote end sends
  176.      full path names (-f option of sz) all required directories
  177.      will be automatically created on the ST end. The directories
  178.      will be rooted at the current directory and not at the root level.
  179.  
  180.      The second    form of    rz receives a single file with XMODEM
  181.      protocol.    The user must supply the file name to both send-
  182.      ing and receiving programs.
  183.  
  184.      When rz is invoked, Verbose is set to 2, causing frame by
  185.      frame progress reports to stderr.  This may be disabled with
  186.      the q option.
  187.  
  188.  
  189.      The meanings of the available options are:
  190.      
  191.      B      (ZMODEM) force all files to be received in binary mode.
  192.       Useful for ST-to-ST transfers (for Ascii files where
  193.       you don't want LF to CRLF conversion). This is
  194.       a local override, specifying `-B' overrides any mode
  195.       the sender specifies (it however will still honor any `protect'
  196.       or `append' requests from the sender)
  197.       (Applicable to ZMODEM transfers only).
  198.  
  199.      c      Request 16 bit CRC.  XMODEM file transfers default to    8
  200.       bit checksum.     YMODEM    and ZMODEM normally use    16 bit
  201.       CRC.
  202.  
  203.      p      (ZMODEM) Protect: skip file if destination file exists.
  204.  
  205.      q      Quiet    suppresses verbosity.
  206.  
  207.      t tim
  208.       Change timeout to tim    tenths of seconds.
  209.  
  210.      v      Verbose, more v's give more verbose. Info is also
  211.       appended to logfile 'rzlog' .    More v's generate more output.
  212.  
  213. ZMODEM CAPABILITIES
  214.      Rz    supports incoming ZMODEM binary    (-b), ASCII (-a), protect
  215.      (-p), and append (-+) requests, and ZMODEM    command    execu-
  216.      tion. The incoming mode may be optionally overriden by specifying
  217.      the `-B' option to Rz, in which case all files will be received
  218.      in binary mode regardless of the incoming mode (protect and append will
  219.      still be obeyed). 
  220.  
  221.      Rz also supports incoming pathnames, and will recursively
  222.      create all subdirectories as required. Rz preserve file mod
  223.      times, and file protection. The translation of Unix protection
  224.      bits to ST file attributes is based on the Unix owner (07XX)
  225.      protection bits.  Presently, only read and write bits are considered.
  226.      All received pathnames are considered to be rooted at the 
  227.      current working directory. Any leading '/' from unix systems
  228.      is discarded (ie. all incoming pathnames are considered unrooted,
  229.      and are locally 'planted' at the current working directory).
  230.      Ascii/Binary file modes are determined by examining the file
  231.      extension on the incoming path name. If the extension is one
  232.      of the following (case independent), then it is assumed to be
  233.      a binary file, ascii other wise. The ascii translation of 
  234.      '\n' to '\r\n' is done locally for ZMODEM (only).
  235.      For X or Y modem the sender determines the file type (see
  236.      the file 'common.c' for the latest list).
  237.  
  238.     ".PRG", ".TOS", ".TTP", ".ARC", ".ACC", ".IMG", ".RSC", ".O",
  239.         ".OBJ", ".NEO", ".PIC", ".PI1", ".PI2", ".PI3", ".PQ1", ".PQ2",
  240.         ".PQ3", ".BRD", ".ANI", ".STW", ".FNT", ".PRT", ".SNG", ".NEC",
  241.         ".CNF", ".Z"  , ".DFN", ".GEM", ".EZD", ".LNK", ".SYM",
  242.         ".PIX", ".X32", ".OUT", ".A",   ".CCC", ".CL",  ".CMD", ".COM",
  243.         ".CRL", ".DAT", ".DIR", ".EXE", ".OVL", ".PAG", ".REL", ".SAV",
  244.         ".SUB", ".SWP", ".SYS", ".TAR", ".UTL", ".IM",  ".PAK"
  245.  
  246. RZ/SZ(1)              ST Programmer's Manual            RZ/SZ(1)
  247.  
  248. NAME
  249.      sz
  250.  
  251. SYNOPSIS
  252.      sz    [-+defkLlNnopqtuvy][-P <directory of file>]*  file ...
  253.      sz    -X [-kqtuv] file
  254.      sz    [-oqtv] -c COMMAND
  255.      sz    [-oqtv] -i COMMAND
  256.  
  257. DESCRIPTION
  258.      Sz    uses the ZMODEM, YMODEM    or XMODEM error    correcting proto-
  259.      col to send one or    more files over    a serial port to a
  260.      variety of    programs running under PC-DOS, CP/M, Unix, VMS, TOS
  261.      and other operating systems.
  262.  
  263.  
  264.      The first form of sz sends    one or more files with ZMODEM or
  265.      YMODEM batch protocol.  Normally, only the    file name part of
  266.      the pathname is transmitted. Additional
  267.      information about the file    is transmitted.     If the    receiving
  268.      program uses this information, the    transmitted file length
  269.      controls the exact    number of bytes    written    to the output
  270.      dataset, and the modify time and file mode    are set    accord-
  271.      ingly.
  272.  
  273.      The second    form of    sz uses    the -X flag to send a single file
  274.      with XMODEM or XMODEM-1k protocol.     The user must supply the
  275.      file name to both sending and receiving programs.
  276.  
  277.  
  278.      The third form sends a single COMMAND to the receiver for
  279.      execution.     Sz exits with the COMMAND return value.
  280.  
  281.  
  282.      The fourth    form sends a single COMMAND to the receiver for
  283.      execution.     Sz exits as soon as the receiver has correctly
  284.      received the command, before it is    executed.
  285.  
  286.  
  287.      In SZ Verbose is set to 2, causing frame by frame pro-
  288.      gress reports to stderr.  This may    be disabled with the q
  289.      option.
  290.  
  291.      The meanings of the available options are:
  292.  
  293.      +      Instruct the receiver    to append transmitted data to an
  294.       existing file    (ZMODEM    only).
  295.  
  296.      c COMMAND
  297.       Send COMMAND to the receiver for execution, return with
  298.       COMMAND's exit status.
  299.  
  300.      d      Change all instances of "." to "/" in    the transmitted
  301.       pathname.  Thus, C.omenB0000 (which is unacceptable to
  302.       MSDOS    or CP/M) is transmitted    as C/omenB0000.     If the
  303.       resultant filename has more than 8 characters    in the
  304.       stem,    a "." is inserted to allow a total of eleven.
  305.  
  306.      E      Escape only Ctrl-X control characters; normally XON,
  307.       XOFF,    CR-@-CR, and Ctrl-X are    escaped.
  308.  
  309.      e      Escape all control characters; normally XON, XOFF, CR-
  310.       @-CR,    and Ctrl-X are escaped.
  311.  
  312.      f      Send Full pathname.  Normally    directory prefixes are
  313.       stripped from    the transmitted    filename.
  314.  
  315.      i COMMAND
  316.       Send COMMAND to the receiver for execution, return
  317.       Immediately upon the receiving program's successful
  318.       reception of the command.
  319.  
  320.      k      (XMODEM/YMODEM) Send files using 1024    byte blocks
  321.       rather than the default 128 byte blocks.  1024 byte
  322.       packets speed    file transfers at high bit rates.  (ZMO-
  323.       DEM streams the data for the best possible throughput.)
  324.  
  325.      L N  Use ZMODEM sub-packets of length N.  A larger    N (32 <=
  326.       N <= 1024) gives slightly higher throughput, a smaller
  327.       N speeds error recovery.  The    default    is 128 below 300
  328.       baud,    256 above 300 baud, or 1024 above 2400 baud.
  329.  
  330.      l N  Wait for the receiver    to acknowledge correct data every
  331.       N (32    <= N <=    1024) characters.  This    may be used to
  332.       avoid    network    overrun    when XOFF flow control is lack-
  333.       ing.
  334.  
  335.      n      (ZMODEM) Send    each file if destination file does not
  336.       exist.  Overwrite destination    file if    source file is
  337.       newer    or longer than the destination file.
  338.  
  339.      N      (ZMODEM) Send    each file if destination file does not
  340.       exist.  Overwrite destination    file if    source file has
  341.       different length or date.
  342.  
  343.      o      (ZMODEM) Disable automatic selection of 32 bit CRC.
  344.  
  345.      p      (ZMODEM) Protect existing destination    files by skipping
  346.       transfer if the destination file exists.
  347.  
  348.      q      Quiet    suppresses verbosity.
  349.  
  350.      r      Resume interrupted file transfer.  If    the source file
  351.       is longer than the destination file, the transfer com-
  352.       mences at the    offset in the source file that equals the
  353.       length of the    destination file.
  354.  
  355.      t tim
  356.       Change timeout to tim    tenths of seconds.
  357.  
  358.      u      Unlink the file after    successful transmission.
  359.  
  360.      v      Verbose causes a list    of file    names to be appended to
  361.       szlog .    More v's generate more output.
  362.  
  363.      X      Send a single    file with XMODEM or XMODEM-1k protocol.
  364.  
  365.      y      Instruct a ZMODEM receiving program to overwrite any
  366.       existing file    with the same name.
  367.  
  368.      P <directory or file>
  369.     (ZMODEM) Sz may be given the name of
  370.     a directory, in which case it will send the contents
  371.     of the directory, and all the subdirectories thereof.
  372.     The -P 'Prune' option is used to prune out the named directory
  373.     or file while expanding the directory tree. Multiple
  374.     -P options may be specified. This option
  375.     is only present when the source is compiled with the
  376.     pre-processor symbol `RECURSE' defined.
  377.  
  378.     SZ guesses the file mode by examining the filename extension as
  379.     discusses under RZ above. SZ -f send full pathnames with '\'
  380.     converted to '/'. The ST drive specifier is never sent.
  381.  
  382. SEE ALSO
  383.      ZMODEM.DOC, YMODEM.DOC, IMP(CP/M),    cu(1), Professional-YAM
  384.      manual, sz(omen), usq(omen), undos(omen)
  385.  
  386.      Compile time options required for various operating systems
  387.      are described in the source file.
  388.  
  389. NOTES
  390.     Depending on your file structure, when using the recursively
  391.     descend a directory option of Sz, ZMDM can demand a lot of
  392.     dynamic memory. When the pre-processor symbol `RECURSE' is
  393.     defined, for Mark Williams C, `_stksize' is set to 16K. If
  394.     you are using Alcyon C, please use a decent version of
  395.     GEMSTART.S. We use the version from pratt@atari with
  396.     memory model (STACK=2), which gives half of available
  397.     memory to stack+heap. Note that all the dynamic memory is
  398.     taken off the program heap (for Alcyon, and off the Arena
  399.     above the stack for Mark Wiliams), ie. ZMDM uses `malloc' not
  400.     `Malloc'.
  401.  
  402.     It is possible to run out of dynamic memory when descending
  403.     a file structure with a lot of files and/or deep-hierarchies.
  404.     The simplest way to work around this problem is to do the
  405.     sending in parts by using the -P rune option of Sz. For
  406.     instance if you run out of memory while trying to send your
  407.     C partition, you may want to prune out some directories and
  408.     send things in parts. In my case i backup my C partition to
  409.     our unix host in the following manner:
  410.  
  411.     sz -f -P c:\bin -P c:\lib c:\  /* send eveything in the C
  412.                         partition except the 'bin'
  413.                         and 'lib' subdirectories */
  414.  
  415.     sz -f c:\bin c:\lib          /* then send the 'bin' and 'lib'
  416.                         directories */
  417.  
  418.     The second solution depends on if you are using Mark Williams
  419.     or Alcyon C libararies. If you are running out of memory because
  420.     of deep hierarcies, you need to increase the stack. If you are
  421.     running out of memory beceause of a lot of files, then you
  422.     need to decrease the stack to allow for a larger arena in
  423.     the case of MWC (and trade-off for depth), or in the case of
  424.     Alcyon you need to increse stack+heap. On systems with a
  425.     large Ramdisk or many ACCs make sure you have enough space
  426.      before doing this.
  427.  
  428.     The TTY input buffering on    some systems may not allow long
  429.     blocks or streaming input,    especially at high baud    rates.
  430.     The Pro-YAM zmodem    l numeric parameter may    be set to a value
  431.     between 64    and 1024 to limit the burst length.
  432.  
  433. BUGS
  434.      THIS SOFTWARE IS STILL UNDER DEVELOPMENT AND ALMOST POSITIVELY
  435.      CONTAINS BUGS. PLEASE REPORT ALL SUCH CRITTERS TO cwruecmp!bammi.
  436.  
  437.      Pathnames are restricted to 127 characters.  In XMODEM sin-
  438.      gle file mode, the    pathname given on the command line is
  439.      still processed as    described above.
  440.  
  441. FILES
  442.  
  443.      (rz|sz)log    stores debugging output    generated with -vvv[v]*
  444.             option.
  445.  
  446. OTHER COMMANDS
  447.     The following command are available in the
  448.     transfer shell:
  449.  
  450.     <regular-expression> ::= <file name> | <wild card> |
  451.                  'quoted string'
  452.     NB: A quoted string cannot contain embedded single quotes. There
  453.         is no escape character available in a quoted string.
  454.  
  455.     rm,   remove files
  456.         rm [-i] <regular expression>
  457.         -i ::= interactive mode, you are prompted before
  458.                file(s) are removed.
  459.  
  460.     cp,   copy files
  461.         cp <many files> directory
  462.             copy all files into directory
  463.             cp *.c d:\foo - copy all C files into foo 
  464.                         directory on drive D:
  465.         cp <file> <directory>
  466.             copy file to directory\file.
  467.  
  468.         cp <file> <file>
  469.             file to file copy
  470.             'cp file con:' to get the listing of a file.
  471.  
  472.     ls,   list directory
  473.         ls [wild card]
  474.         ls without an argument will list all files in the
  475.         current directory. If an argument is given, then
  476.         only files macting the wild card will be listed.
  477.             ls *.c - list all C files in current directory
  478.             ls d:\foo - list all files in foo directory on D:
  479.             ls d:\foo\*.c - list all C files in foo directory
  480.  
  481.     cd,   change working directory
  482.         cd directory
  483.  
  484.     md,   make a directory
  485.         md directory
  486.  
  487.     rd,   remove a directory
  488.         rd directory
  489.         Due to a Gemdos bug, you may have to say 'rd directory'
  490.         twice to get rid of directory. This happens when you
  491.         try to remove a directory that you have never visited.
  492.  
  493.     pwd,  print  working directory
  494.         prints the current working directory
  495.  
  496.     df,   check free space
  497.         df [device]
  498.         df without an argument will show free space on current drive.
  499.         df with an argument will show free space on specified drive.
  500.  
  501. TERMCAP
  502.     Termcap entries that may be used for the terminal emulator.
  503.  
  504. st|520st|atariST|520 or 1040, bw, std sys font, 25 lines, 80 col:\
  505.     :ae=\Eba:al=\EL:am:as=\Ebc:\
  506.     :bl=^G:bs:\
  507.     :cd=\EJ:ce=\EK:cl=\EH\EJ:cm=\EY%+ %+ :co#80:cr=^M:\
  508.     :dl=\EM:do=\EB:\
  509.     :ho=\EH:\
  510.     :is=\Ev\Ee:\
  511.     :kd=\274:kh=\216:kl=\275:kr=\276:ku=\273:\
  512.     :le=^H:li#25:\
  513.     :nd=\EC:nl=^J:\
  514.     :pt:\
  515.     :se=\Eq:so=\Ep:sr=\EI:\
  516.     :ta=^I:\
  517.     :up=\EA:
  518.  
  519.  
  520. ST|ST25|atariSTcolor|as above but with color for standout :\
  521.     :ae=\Eba:al=\EL:am:as=\Ebc:\
  522.     :bl=^G:bs:\
  523.     :cm=\EY%+ %+ :co#80:li#25:cr=^M:cd=\EJ:ce=\EK:cl=\EH\EJ:\
  524.     :dl=\EM:do=^J:\
  525.     :ho=\EH:\
  526.     :is=\Ev\Ee:\
  527.     :kd=\274:kh=\216:kl=\275:kr=\276:ku=\273:\
  528.     :le=^H:\
  529.     :nd=\EC:nl=^J:\
  530.     :pt:\
  531.     :so=\Ec2\Eb3:se=\Ec0\Eb3:sr:\EI:\
  532.     :ta=^I:\
  533.     :up=\EA:
  534.  
  535. sT|st50|AtariST emulating vt52, bw, 50 lines, 80 col:\
  536.     :ae=\Eba:al=\EL:am:as=\Ebc:\
  537.     :bl=^G:bs:\
  538.     :cd=\EJ:ce=\EK:cl=\EH\EJ:cm=\EY%+ %+ :co#80:cr=^M:\
  539.     :dl=\EM:do=^J:\
  540.     :ho=\EH:\
  541.     :is=\Ev\Ee:\
  542.     :kd=\274:kh=\216:kl=\275:kr=\276:ku=\273:\
  543.     :le=^H:li#50:\
  544.     :nd=\EC:nl=^J:\
  545.     :pt:\
  546.     :se=\Eq:so=\Ep:sr=\EI:\
  547.     :ta=^I:\
  548.     :up=\EA:
  549.  
  550. COMPILING
  551.  
  552.     The source provided with this distribution will compile
  553.     with either ALCYON C V4.14 as distributed with the 
  554.     Atari Development System, or with Mark Williams C Version 2.00
  555.     (please note that the system will NOT compile with earlier
  556.      versions of either compiler.)
  557.  
  558.     Check the configurable parameters at the bottom of ZMDM.H
  559.     Fix your timezone at the top of the file TYME.C
  560.  
  561.     Define the preprocessor symbol `RECURSE' if you
  562.     want the sz to accept directory names(and send its
  563.     contents), and for the -P option.
  564.  
  565.     To compile with Alcyon see the file `makefile'
  566.     To compile with Mark Williams C see the file `makefile.mwc'
  567.  
  568.     Rename ZMDM.PRG to ZMDM.TOS if you so desire.
  569.  
  570. MORE ALCYON NOTES:
  571.     -- Some people seem to have a bad version of as68 with Alcyon,
  572.      that does'nt handle static variables too well (ie. symbols of the
  573.      form "`name" in the assembler). Please make sure yours is not one of
  574.      these.
  575.  
  576.     -- Use a reasonable version of gemstart.s - ie. one which gives you
  577.      a decent amount of stack+heap space. One of the nicer versions
  578.      floating around is the one written by Alan Pratt @atari, that
  579.      gives you the various memory model options, and corrects the
  580.      bug with the bdos call as suggested by Robert Royar on this net.
  581.  
  582.     -- Do NOT use the `fix' distributed on CompuServe developers forum
  583.     in the file WILDFI.ARC (in Dl7). This fix does'nt fix anything,
  584.     it breaks everything!
  585.  
  586. KNOWN BUGS
  587.     -v's on the ST end don't do a thing!
  588.  
  589.     If a receive is cancelled/aborted, the receive file
  590.     buffer is not flushed to the file. Personally, i
  591.     view this as a feature rather than a bug, so it is
  592.     unlikely to be `fixed'.
  593.  
  594. DISCLAIMER
  595.     This code is in public domain, and you are encouraged
  596.     to distribute it further. You may however not sell the
  597.     code, or use it for any commercial gains. The code is
  598.     provided as is, and we are not responsible for any
  599.     omissions/errors, bugs, nor do we claim correctness or
  600.     its fitness for any purpose.
  601.  
  602.     Please forward your comments and suggestions to
  603.  
  604.                 Jwahar Bammi
  605.             usenet: cwruecmp!bammi@decvax.UUCP
  606.             csnet:  bammi@cwru.edu
  607.             arpa:   bammi@cwru.edu
  608.             CompuServe: 71515,155
  609.